﻿using Vin.Event;
using Vin.Extension.ServerSentEvent;
using Vin.Extension.ServerSentEvent.Client;
using Vin.WebApi.Tests.EventArgs;

namespace Vin.WebApi.Tests.Sse.Test;

// public class SseTestAdapter : ISseClientAdapter
// {
//     private List<SseClient> _clients = new();
//
//     public SseTestAdapter()
//     {
//         VinEventManager.Register<TestSmsEventArg>((sender, e) =>
//         {
//             var arg = e as TestSmsEventArg;
//             if (arg == null)
//             {
//                 return;
//             }
//
//             Parallel.ForEachAsync(_clients, async (client, cancel) => { await client.SendAsync(arg.Data ?? ""); });
//         });
//     }
//
//     public bool IsMatch(HttpContext context)
//     {
//         return context.Request.Path == "/test3";
//     }
//
//     public async Task HandleAsync(SseClient client)
//     {
//         _clients.Add(client);
//         while (client.IsConnected)
//         {
//             await Task.Delay(1000);
//         }
//
//         _clients.Remove(client);
//     }
// }